/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package loja.gui.tablemodel;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;

import loja.dominio.Cliente;

/**
 *
 * @author Rodrigo
 */
public class ClienteTableModel extends AbstractTableModel {

    private List<Cliente> CadClientes;
    private static final String[] COLUNAS = {"Codigo", "Nome", "Endereco", "Nascimento", "Cpf", "E-mail"};

    public ClienteTableModel() {
        CadClientes = new ArrayList<Cliente>();
    }

    public void setCadCategorias(List<Cliente> cadClientes) {
        this.CadClientes = cadClientes;
        fireTableDataChanged();
    }

    public void addCadCategorias(Cliente cliente) {
        this.CadClientes.add(cliente);
        fireTableDataChanged();
    }

    public void limpar() {
        this.CadClientes = new ArrayList<Cliente>();
        fireTableDataChanged();
    }

    public Cliente getCliente(int rowIndex) {
        return CadClientes.get(rowIndex);
    }

    public int getRowCount() {
        return CadClientes.size();
    }

    public int getColumnCount() {
        return COLUNAS.length;
    }

    @Override
    public String getColumnName(int column) {
        return COLUNAS[column];
    }

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        return false;
    }

    public Object getValueAt(int rowIndex, int columnIndex) {
        Cliente cliente = CadClientes.get(rowIndex);

        switch (columnIndex) {
            case 0:
                return cliente.getId();
            case 1:
                return cliente.getNome();
            case 2:
                return cliente.getEndereco();
            case 3:
                return cliente.getNascimento();
            case 4:
                return cliente.getCpf();
            case 5:
                return cliente.getEmail();

            default:
                return "Valor Desconhecido";
        }
    }
}
